package com.ysd.lis.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ysd.common.Result;
import com.ysd.lis.entity.SysOrgDepartment;
import com.ysd.lis.request.FindDeptartmentNamesParam;
import com.ysd.lis.request.OrgDepartmentParam;

import java.util.List;

/**
 * <p>
 * cold_chain.t_org_department 服务类
 * </p>
 *
 * @author Peng
 * @since 2021-10-08
 */
public interface SysOrgDepartmentService extends IService<SysOrgDepartment> {

    Result findDepartmentListByOrgId(String orgId);

    Result addDepartment(SysOrgDepartment sysOrgDepartment);

    Result editDepartment(SysOrgDepartment sysOrgDepartment);

    Result deleteDepartment(SysOrgDepartment sysOrgDepartment);

    Result findDepartmentList(OrgDepartmentParam orgDepartmentParam);

    Result findDeptTree(OrgDepartmentParam orgDepartmentParam);

    Result findDepartmentUserListByOrgId(OrgDepartmentParam orgDepartmentParam);

    Result getDepartmentList(OrgDepartmentParam orgDepartmentParam);

    /**
     * 获取当前用户所在组织机构的所有科室
     */
    Result findDepartmentListByCurrentUserOrg();

    /*同步科室*/
    Result syncOrgDepartments();

    Result findSysOrgDepartmentList(OrgDepartmentParam orgDepartmentParam);

    /*根据科室编号获取科室名称，仅用于显示*/
    Result fingDepartmentNamesByCodes(FindDeptartmentNamesParam input);

    Result getDepartAuthorizementList(OrgDepartmentParam orgDepartmentParam);
}
